Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
Не вказано
Кафедра:
Кафедра автоматики та телемеханіки

Інформація про роботу

Рік:
2005
Тип роботи:
Курсова робота
Предмет:
Методи та засоби криптографічних перетворень
Група:
ІБ – 42

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Інститут комп”ютерних технологій, автоматики та метрології кафедра автоматики та телемеханіки Курсова робота з курсу: “ Методи та засоби криптографічних перетворень” Львів – 2005 Зміст Завдання Шифрування афінним шифром Теоретичні відомості про афінний шифр Блок-схема алгоритму шифрування афінним шифром Текст програми шифрування афінним шифром Вхідний текст Зашифрований текст Шифрування RSA Теоретичні відомості про шифр RSA Теоретичне зашифрування тексту методом RSA Висновки Література Завдання 1. Симетричне шифрування Вибрати ключі та розробити програму для зашифрування файлу даних заданих афінним шифром. Тип афінного шифру визначається останьою цифрою  НЗК. Об’єм алфавіту визначається передостанньою цифрою  НЗК і дорівнює . Варіант  2  Тип афінного шифру Афінний першого порядку  Розрядність алфавіту  14  Об‘єм алфавіту  16384   2. Асиметричне шифрування Зашифрувати Слово відкритого тексту за алгоритмом RSA. Слово визначається останньою буквою  НЗК і задане в таблиці. Для генерування ключів використовувати числа р та , які визначаються передостанньою цифрою  НЗК і задані в таблиці. і 8  Слово Н   И   З    9   11   13   Букви тексту замінити натуральними числами, що відповідають порядковому номеру букви в українському алфавіті. Наприклад А=00, Б=01, В=02 і т.д. Теоретичні відомості Афінні шифри- підклас шифрів заміни, що включає, як частковий випадок шифр Віжінера і навіть шифр перестановки з фіксованим періодом. N-символьний алфавіт ототожнюємо з кільцем . А саме кожна буква замінюється своїм номером у алфавіті, причому нумерація починається з нуля. Наприклад, латинська абетка ототожнюється із , а українська із . Літера а української абетки трактується як нуль, літера б як 1, в як 2. Тепер до букв відкритого тексту ми можемо вільно застосовувати операцію додавання та множення за відповідним модулем. Афінний шифр. Ключі: a,  такі, що , , . Шифрування. У повідомлені кожна буква  заміщується буквою . Дешифрування. У криптотексті кожна буква  заміщуються буквою ,де  і . Блок-схема алгоритму   Функція кодування encrypt  Текст програми за шифрування #include <stdio.h> #include <math.h> #include <dos.h> #include <conio.h> #include <stdlib.h> #include <ctype.h> /*============Constants================*/ const unsigned int m=5+9; //bits const unsigned int n_buf=32; //bits /*=============Types===================*/ /*===========Variables=================*/ unsigned long a, s, n; /*======Function declaration===========*/ unsigned long max_value(int k); unsigned long encrypt(unsigned long c); void get_key(void); /*==========MAIN FUNCTION==============*/ void main(void) { struct dostime_t tbegin, tend; FILE *f, *fc; int r_end=0, x_read=1; unsigned long buf, buf_c = 0, x; int lb=n_buf, lbc=n_buf; get_key(); _dos_gettime(&tbegin); n = max_value(m); if ( (f=fopen("c:\\data.fb", "rb")) == NULL ) { printf("cannot open the file data.fb"); getch(); exit(1); } else if ( (fc=fopen("c:\\data.fbc", "wb")) == NULL ) { printf("cannot open the file data.fbc"); getch(); exit(1); } else { if (fread(&buf, 1, n_buf/8, f) != 0) while (!r_end) { if (lb<=0) { if (fread(&buf, 1, n_buf/8, f) != 0) { x |= (buf << (m+lb)) & max_value(m); buf >>= (-lb); lb += n_buf; x_read = 1 & !(lb==n_buf); } else { r_end = 1; x_read = 1; } } else { x = buf & max_value(m); buf >>= m; lb -= m; x_read = 1 & (lb>=0); } //---------------------------- if (x_read) { // printf("%0x --- %c\n", x, ( unsigned char)x); // getch(); x = encrypt(x); buf_c |= x << (n_buf-lbc); lbc -= m; if (lbc<=0) { fwrite(&buf_c, n_buf/8, 1, fc); buf_c &= 0; if (lbc==0) lbc = ...
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини